home *** CD-ROM | disk | FTP | other *** search
- StarCon
- StartUp-Controller
- Version 2.01 / 30. Oktober 1992
-
- Copyright © by Carsten Drücke 1992
-
-
- --------------------------------------------------------------------------
-
- Inhalt: A - Copyright
- B - Einleitung
- C - Anwendung
- D - Workbench
- E - Bedienung
- F - Aufbau von StartUp-Config
- G - Spezielle Befehle
- H - Zum Beispiel ...
- I - Bugs
- J - Wenn es nicht läuft / Fehlermeldungen
- K - Kompatibilität
- L - Versionsübersicht
- M - Credits
-
- ------ A -----------------------------------------------------------------
-
- Copyright:
-
- Dieses Programm ist Freeware/Cardware. Es darf und soll weitergegeben
- werden, solange folgende Punkte eingehalten werden:
- - Das Programm darf nicht in Verbindung mit kommerzieller Software /
- Produkten vertrieben werden. Dazu ist zuvor die Genehmigung des
- Autors einzuholen.
- - Die Dokumentation, das Programm sowie die Copyright-Notiz, dürfen
- nicht geändert werden.
- - Alle Dateien, die zu diesem Programm gehören, müssen stets zusammen
- weitergegeben werden.
- - Für eine Kopie dieses Programmes, oder die Weitergabe auf einer
- PD-Diskette darf nur eine angemessene Kopiergebühr erhoben werden,
- ohne das dabei ein Gewinn entsteht. Den Betrag, den einige PD-
- Anbieter (Pawlowsky, Ossowski, RHS, MLC und Andere) in Deutschland
- verlangen, halte ich NICHT für angemessen !
-
- Alle Rechte an dem Programm und der kommerziellen Nutzung verbleiben
- beim Autor. Der Autor übernimmt keine Verantwortung für Schäden
- jedwelcher Art, die durch dieses Programm direkt oder indirekt
- verursacht werden. Die Benutzung der Software geschieht auf eigene
- Gefahr !
- (Für Risiken und Nebenwirkungen lesen Sie die Dokumentation und fra-
- gen Sie Ihren Arzt oder Apotheker.)
-
- Wer das Programm benutzt, sollte mir bitte eine Postkarte schreiben.
- Natürlich werden auch kleinere Geschenke, wie z.B. ein A4000 nicht
- abgelehnt. ;-)
-
-
- ------- B ----------------------------------------------------------------
-
- Einleitung:
-
- Jeder Amiga-User hat seine bevorzugten Tools, die nach dem
- Einschalten oder nach einem Reset geladen werden. Dieses erfolgt
- üblicherweise in der Startup-Sequence. Wer nicht mehrfacher
- Speichermillionär ist, wird sicherlich das eine- oder anderemal
- festgestellt haben, daß der Speicher manchmal ganz schön knapp wird.
- Ausserdem ist es auch nicht immer unbedingt sinnvoll, z. B .eine
- komplette C-Umgebung zu laden.
- Also fügt man ein paar 'ASKs' in die Startup-Sequence ein, um je
- nach Anwendung den Rechner richtig konfigurieren zu können. Oder ?
- Wer sich mit diesem Problem schon auseinandersetzen mußte, wird
- sicherlich zu der Ansicht gekommen sein, daß a.) das Hochfahren des
- Rechners durch die 'ASK'-Befehle arg behindert wird und daß b.)
- meistens die selben langweiligen Fragen gleich beantwortet werden.
- StarCon bietet ein Intuition-Interface, mit dem die gewünschte
- Konfiguration schnell mit ein paar Mausklicks gewählt werden kann.
-
-
- ------- C ----------------------------------------------------------------
-
- Anwendung:
-
- StarCon wird bevorzugt in die Startup-Sequence eingebunden. Der
- Aufruf sollte nicht mit RUN StarCon erfolgen, da StartCon auf das
- CLI-Fenster angewiesen ist. Nach dem Start sucht StarCon die Datei
- S:StartUp-Config. Dieses ist ein ASCII-Text, in dem jeweils eine
- Zeile eine Initialisierung beschreibt. (Siehe dazu: Aufbau von
- StartUp-Config.)Insgesammt sind bis zu 32 Initialisierungen möglich.
- Mit dieser Datei kann jeder User seine eigenen Voreinstellungen für
- StarCon festlegen.
-
- Jede Initialisierung (im Folgendem: Item) besteht aus 5 Feldern:
- Zuerst kommt ein frei definierbarer Text, der im StarCon-Fenster
- angezeigt wird.
- Das zweite Feld ist entweder '1' oder '0', jenachdem, ob das Item
- voreinstellungsgemäß angewählt oder nicht angewählt sein soll.
- Jetzt folgt die Aktion, die mit diesem Item verbunden ist. Zum einen
- kann hier ein Einzelbefehl stehen, oder auch der Name eines Script-
- Files.
- Mit der Maske, die im vierten Feld angegeben werden kann, ist es
- möglich, verschiedene Items gegenseitig auszuschließen oder zu
- aktivieren.
- Alle, die nicht wissen, was sie tun, können an jedes Item einen
- Kommentar anhängen :-).
-
- Wird StarCon ohne Parameter gestartet, wird versucht, das File
- S:Startup-Config zu öffnen. Es kann aber auch der Name einer anderen
- Datei angegeben werden, die die Beschreibung der Items enthält
- (z.B. StarCon S:MyStartUp).
-
- Die Anzahl der Items ist auf 32 begrenzt. Es ist aber möglich,
- StarCon von StarCon aus aufzurufen. Die Tiefe der Verschachtelung
- ist nur durch die Anzahl der verfügbaren CLI-Prozesse begrenzt.
-
-
- ------- D ----------------------------------------------------------------
-
- Workbench:
-
- StarCon kann mit einem Icon auf der Workbench gestartet werden. Das
- Programm öffnet ein CON-Fenster, auf dem die Ausgaben erfolgen. Das
- ermöglicht das nachträgliche Initialisieren des Rechners. Dabei ist
- zu beachten, daß zwar zusätzliche Funktionen eingebunden werden
- können, bestehende Initialisierungen können jedoch nicht rückgängig
- gemacht werden ! Wird das StarCon-Icon angeklickt, sucht StarCon die
- Datei S:Startup-Config. Um andere Initialisierungsdateien benutzen
- zu können, kann man zu diesen Textdateien ein PROJECT-Icon er-
- stellen. Als Default Tool muß StarCon eingetragen werden.
-
-
- ------- E ----------------------------------------------------------------
-
- Die Bedienung:
-
- StarCon öffnet ein Fenster in welchem die verschiedenen Texteinträge
- angezeigt werden. Neben jedem Texteintrag befindet sich ein Check-
- Mark. Falls dieses einen Haken zeigt, ist der Eintrag angewählt,
- andernfalls wird ein leeres Feld dargestellt. Durch Anklicken des
- Feldes, wechselt es von 'Selektiert' zu 'Nicht Selektiert' und umge-
- dreht. Am unteren Rand des Fensters befinden sich zwei weitere
- Schalter. Der eine ist mit 'Preset' bezeichnet. Wird dieser Schalter
- betätigt, so werden alle CheckMarks auf ihren Anfangswert zurück-
- gesetzt. Das zweite Gadget ist mit 'OK' beschriftet. Wenn es ange-
- klickt wird, wird zunächst das Fenster geschlossen. Danach werden
- alle selektierten (abgehakten) Skripts/Befehle ausgeführt.
-
- Falls StarCon abgebrochen werden soll, kann dieses durch Betätigung
- des Close-Gadget erfolgen.
-
- Wenn StarCon von der Workbench gestartet wird und dabei ein Fehler
- auftaucht, öffnet sich ein Fenster, in welchen die entsprechende
- Fehlermeldung ausgegeben wird. Dieses Fenster muß mit dem Close-
- Gadget geschlossen werden, da es nicht von StarCon geschlossen wird!
-
-
- ------- F ----------------------------------------------------------------
-
- Aufbau von StartUp-Config:
-
- Die vom User zu erstellende Datei ist ein ASCII-Text, der folgenden
- Aufbau hat:
-
- "RAD: initialisieren" 1 "_Mount RAD:" 0-0 RAM-Drive mounten
- "MSH: initialisieren" 0 S:MountMSH -0+ ; Messy-Dos-Filesystem
- "Workbench laden" 1 _LoadWB ; Workbench öffnen
-
- |-------- 1 -------| |2| |---- 3 ----| | 4 | |--------- 5 ---------|
-
- Feld 1:
- In Feld 1 wird der Text angegeben, der neben dem Haken ausgegeben
- werden soll. Der Text beschreibt lediglich die Funktion, die mit
- diesem Menuepunkt verbunden ist. Dieses Feld muß angegeben werden.
- Wenn der Text keine Leerstellen enthält, können die Anführungs-
- zeichen entfallen.
-
- Feld 2:
- Dieses Feld kann eine '1' oder eine '0' enthalten. Eine '1'
- bedeutet, daß dieser Punkt standardmäßig eingeschaltet ist. Beim
- Programmstart wird für diesen Punkt ein Haken angezeigt. Eine '0'
- bewirkt, daß der Punkt zunächst als 'nicht angewählt' dargestellt
- wird. Bei der Anwahl von PRESET werden alle Punkte mit einem Haken
- versehen, bei denen in diesem Feld eine '1' steht, beziehungsweise
- gelöscht, wenn hier eine '0' steht.
-
- Feld 3:
- Dieses Feld beinhaltet den Namen eines Files, der alle notwendigen
- CLI-Befehle enthält, um die gewünschte Initialisierung für den
- dazugehörigen Punkt durchzuführen. Wenn der Filename SPACEs enthält,
- muß er durch Anführungszeichen begrenzt werden.
- Falls nur ein einzelner CLI-Befehl ausgeführt werden soll, so muß
- dieser mit einem Unterstrich '_' beginnen. Wenn der Befehl einen
- Parameter benötigt, muß der gesammte Ausdruck inklusive des Unter-
- strichs in doppelte Anführungszeichen gesetzt werden. Sollte der
- Parameter ebenfalls Spaces enthalten, so muß er durch einfache An-
- führungszeichen begrenzt werden.
-
- Beispiele:
-
- "_Echo 'Hello World'"
- Das Feld wird durch die doppelten Anführungszeichen begrenzt. Da der
- String "Hello World" ein Space enthält, wird er durch einfache
- Anführungszeichen (ALT-Ä) eingeschlossen. Diese werden von StarCon
- wieder durch doppelte Anführungszeichen ersetzt.
- "Echo" wird durch einen Unterstrich "_" eingeleitet und damit als
- direkt auszuführender Befehl gekennzeichnet.
-
- "_StarCon S:SecndInit"
- Durch diesen Eintrag ist es möglich, StarCon ein zweites mal aufzu-
- rufen. "S:SecndInit" enthält kein Space und muß daher nicht durch
- Anführungszeichen umschlossen werden.
-
- S:C-SetUp
- Da der Text keine Leerzeichen enthält, können die Anführungszeichen
- entfallen. S:C-SetUp ist ein Scriptfile und wird deshalb nicht durch
- einen Unterstrich eingeleitet.
-
-
- Feld 4:
- In diesem Feld kann eine Maske angegeben werden, mit der sich
- verschiedene Einträge gegenseitig ausschließen oder aktivieren
- lassen. Für jeden Eintrag in der Liste wird entweder ein "-"
- (Ausschluß) oder ein "+" (Aktivierung) angegeben. Wenn ein Eintrag
- nicht beeinflußt werden soll, kann jedes beliebige Zeichen, ausser
- einem SPACE angegeben werden. Die erste Stelle (links) der Maske
- steht für der ersten Eintrag (oben), die letze Stelle (rechts) für
- den letzten Eintrag (unten). Wird in einer Zeile keine Maske
- angegeben, wird bei der Aktivierung dieses Punktes kein anderer
- Punkt ausgeschlossen/aktiviert. Ebenfalls muß ein Kommentar dann mit
- einem Semikolon eingeleitet werden.
- Falls ein Item (A) ein anderes Item (B) aktiviert, so wird dieses
- Item (B) wieder deaktiviert, sobald das Item (A) deaktiviert wird.
-
- Beispiel:
- 1: *-00+ + -> aktiviert
- 2: -*00+ - -> deaktiviert
- 3: 00*-+ u/0/* -> unbeeinflußt
- 4: 00+*-
- 5: 000+*
-
- 1. Alle Items deaktiviert:
- Angeklickt: Ergebnis: 1: 2: 3: 4: 5:
- 1 + - u u +
- 2 - + u u +
- 3 u u + - +
- 4 u u + + -
- 5 u u u + +
-
- 2. Alle Items aktiviert:
- Angeklickt: Ergebnis: 1: 2: 3: 4: 5:
- 1 - u u u -
- 2 u - u u -
- 3 u u - u -
- 4 u u - - u
- 5 u u u - -
-
-
- Feld 5
- Dieses ist ein Kommentarfeld. Das Feld ist optional und muß nicht
- belegt werden. Das Semikolon vor dem Kommentar ist nicht erforder-
- lich, wenn in Feld 4 eine Maske angegeben wurde. Wenn eine Zeile mit
- einem Semikolon anfängt, wird die gesammte Zeile als Kommentar be-
- trachtet.
-
- Die Felder 1-3 müssen definiert sein, ansonsten wird eine ent-
- sprechende Fehlermeldung ausgegeben. Feld 4 ist optional. Falls
- keine Maske angegeben werden soll, kann dieses Feld ausgelassen
- werden. Ein folgender Kommentar muß dann jedoch mit einem Semikolon
- eingeleitet werden. Die Länge aller Felder ist variabel. Zusammen
- sollten die Felder nicht mehr als 158 Zeichen enthalten, da sonst
- die Zeile ignoriert wird. Feld 1 darf mehr als 49 Zeichen lang sein,
- wobei dann aber nur die ersten 49 Zeichen ausgegeben werden.
-
-
- ------- G ----------------------------------------------------------------
-
- Spezielle Befehle:
-
- Spezielle StarCon-Befehle können in der Konfigurationsdatei ange-
- geben werden. Sie werden durch das Und-Zeichen (&) eingeleitet. Nach
- einem Space oder Tab folgt der eigentliche Befehl und dann bis zu
- zwei Parameter.
-
- In dieser Version (2) ist nur ein Befehl definiert.
-
- WAIT
- Syntax: & WAIT <Sekunden>
-
- Grundsätzlich wartet StarCon darauf, daß der User das OK-Gadget
- anwählt, bevor die Konfiguration ausgeführt wird. Mit dem WAIT-
- Befehl ist es möglich, eine bestimmte Zeit vorzugeben, nach der
- StarCon automatisch den Konfigurationsvorgang startet. Falls während
- dieser Zeitspanne der Benutzer ein Gadget anwählt, beginnt die Zeit
- wieder von Vorn zu zählen.
-
- Für <Sekunden> kann jeder beliebige Wert zwischen 1 und 65535 ange-
- geben werden. Eine Besonderheit stellt der Wert 0 dar. In diesem
- Fall öffnet StarCon kein Fenster, sondern beginnt sofort mit der
- Abarbeitung der Konfiguration. ACHTUNG: Hierbei hat der Benutzer
- keine Möglichkeit, auf den Vorgang Einfluß zu nehmen !
-
-
- ------- H ----------------------------------------------------------------
-
- Zum Beispiel:
-
- "Start-Example" ist ein einfaches Beispiel, wie StarCon funktioniert.
- Um es zu starten, wird das Icon mit einem Doppelklick aktiviert.
- Der File 'Start-Example' ist ein einfacher ASCII-Text. Für das Icon
- wurde als Default Tool "StarCon" eingesetzt.
-
- Im C:-Verzeichnis muß folgender Befehl vorhanden sein:
- - Execute
-
-
- ------- I ----------------------------------------------------------------
-
- Bugs:
-
- StarCon überprüft nicht, ob die angegebene Datei eine Configura-
- tions datei ist. Falls es sich z.B. um ein Programm handelt, führt
- dieses in den meisten Fällen zur Ausgabe diverser Warnungen und
- möglicherweise zu recht eigenartigen Bildschirmanzeigen. In einem
- solchen Fall sollte man StarCon durch Anklicken des Close-Gadgets
- abbrechen. Andernfalls kann eine Indienreise nicht ganz ausge-
- schlossen werden.
-
- Bei der Benutzung von anderen Systemfonts als Topaz 8, kann es vor-
- kommen, daß das StarCon-Fenster nicht geöffnet werden kann. StarCon
- versucht sich den Gegebenheiten weitgehend anzupassen, daher sollte
- dieser Fehler eigentlich nicht vorkommen.
-
- StarCon benutzt den DOS-Befehl EXECUTE, um die Initialisierungs-
- files auszuführen. Eine eventuelle Benutzereingabe wird daher nicht
- vom CLI-Fenster geholt sondern von NIL:.
- Es besteht also keine Möglichkeit interaktive Befehle (wie z.B. ASK)
- sinnvoll auszuführen.
- Für EXECUTE ist das aktuelle Verzeichnis immer SYS:. Daher müssen
- alle Befehle auf einem gültigen Pfad (path) liegen, wie z.B. C: oder
- SYS:, oder es muß der vollständige Pfad angegeben werden !
- Das gleiche gilt natürlich auch für Scriptdateien oder Befehls-
- parameter (z.B. TYPE :Docs/StarCon.Doc).
- Die Ausgaben von StarCon sollten nicht nach NIL: umgeleitet werden.
- Der EXECUTE-Befehl verlangt ein echtes Device für seine Ein / Aus-
- gaben. Daher kann ein Aufruf wie "StarCon >NIL:" zu einem System-
- Absturz führen.
-
- StarCon sollte nicht RESIDENT gemacht werden, da es nicht PURE ist.
-
-
- ------- J ----------------------------------------------------------------
-
- Wenn es nicht läuft:
-
- Zum Ausführen der Scriptdateien muß im C:-Directory das Programm
- EXECUTE vorhanden sein.
- Befehle/Dateien, die nicht auf einem gültigen Pfad liegen, müssen
- mit ihrem vollständigen Pfadnamen angegeben werden.
-
- Fehler:
- Nach dem Beenden von StarCon erscheint kein Prompt, oder der
- Rechner 'hängt' in der StartUp-Sequence.
- Ursache:
- StarCon hat ein Programm gestartet, das noch nicht beendet wurde.
- Abhilfe:
- Das Programm (nicht StarCon !!) mit "RUN >NIL: prg-name" aufrufen.
- Beispiel:
- RUN >NIL: MEmacs
-
- Fehlermeldungen:
-
- Fehlermeldungen, die mit ERROR beginnen, führen zum Abbruch von StarCon.
- WARNING weist auf einen Fehler hin, der nicht zum Abbruch führen muß.
-
- - WARNING: StarCon-Parameter mismatch
- Die Item-Beschreibung ist unvollständig.
-
- Ursache: - Es wurden weniger als 3 Felder für ein Item angegeben.
-
- - WARNING: too many items in StarCon-config-chain.
- Mehr als 32 Items in der Konfigurationsdatei.
-
- Abhilfe: - Die Anzahl der Items verringern.
-
- - WARNING: Missing Command in Command-Line.
- In einer Command-Zeile ist kein Befehl
-
- Abhilfe: - Die entsprechende Zeile entfernen.
- - Einen gültigen Befehl in die Zeile eintragen.
-
- - WARNING: Missing Argument in Command-Line
- In einer Command-Zeile fehlt hinter dem Befehl der/die Parameter.
-
- Abhilfe: - Befehlssyntax überprüfen und den/die erforderlichen
- Parameter angeben.
-
- - WARNING: XXXX is not a valid command.
- Der Ausdruck, der statt XXXX zu finden ist, stellt keinen gültigen
- Befehl für StarCon dar.
-
- Abhilfe: - Überprüfen, ob der Befehl richtig geschrieben wurde.
-
-
- - ERROR: StarCon cannot open StarCon-window
- Das StarCon-Fenster konnte nicht geöffnet werden
-
- Ursache: - Nicht ausreichend CHIP-MEM für das Fenster
- - ???
-
- - ERROR: StarCon 2 needs Kickstart 2 or better.
- Was soll ich dazu sagen ?
-
- - ERROR: Your screens X-resolution is less than 480 pixel
- Die Auflösung des 'public-screens' auf dem StarCon sein Fenster
- öffnen will, ist kleiner als 480 Pixels in X-Richtung.
-
- Abhilfe: - Beim Aufruf von StarCon sollte der public-screen
- mindestens 480 Pixels in X-Richtung haben.
-
- - ERROR: StarCon cannot open <FileID>
- Die Konfigurationsdatei kann nicht geöffnet werden.
-
- Ursache: - die Datei S:StartUp-Config existiert nicht.
- - das Verzeichnis S: ist einer anderen Diskette zugeordnet
- - es wurde ein falscher File/Pathname angegeben
-
- - ERROR: StarCon-Error while reading ....
- Fehler beim Einlesen der Konfigurationsdatei.
-
- Ursache: - die Diskette ist defekt,
- - File ist unlesbar....
-
- - ERROR: Not enough memory for StarCon
- Nicht genug Speicher
-
- Ursache: - ?? (Abhilfe: Speichererweiterung einbauen !! :-))
-
- - ERROR: StarCon cannot open intuition.library
- Die intuition.library kann nicht geöffnet werden.
-
- Ursache: - StarCon wurde nicht auf einem Amiga gestartet. (??)
- (dieser Fehler sollte niemals auftreten,
- aber weiß der Geier..In diesem Fall bitte ich um
- sofortige Benachrichtigung :-)
-
-
- Neben diesen Fehlermeldungen können auch noch verschiedene weitere
- Meldungen ausgegeben werden, die dann vom DOS stammen.
-
-
- ------- K ----------------------------------------------------------------
-
- Kickstart:
- StarCon V2 benötigt mindestens Kickstart 2.00 (36).
- Probleme mit MC 68000/010/020/030/040 sind nicht bekannt.
-
- ------- L ----------------------------------------------------------------
-
- Versionsübersicht:
- V 1.0 :
- - Testversion mit einer Menge Fehlern.
-
- V 1.1 (11-03-92) :
- - Die erste Version, die fehlerfrei lief.
-
- V 1.2 (30-03-92) :
- - Command-Line Unterstützung und Workbench-Support. Die Confi-
- gurationsdatei kann frei gewählt werden.
- - Gegenseitiger Ausschluß von Menuepunkten möglich.
-
- V 1.3 (11-04-92) :
- - Statt bisher 10, sind jetzt 12 Items möglich
- - Copyright-Notiz angehängt
- - Ausschlußoption verbessert. Zuvor konnte sich ein Item selber
- ausschließen.
-
- V 1.31 (26-04-92) :
- - Fehler, der manchmal zum Absturz der Workbench führte, falls
- StarCon dort gestartet wurde, beseitigt.
-
- V 1.4 (07-05-92) :
- - Gegenseitige Aktivierung von Items möglich.
-
- V 1.41 (08-05-92) :
- - Falls ein Item andere Items aktiviert, werden diese Items jetzt
- auch deaktiviert, wenn das erste Item deaktiviert wird.
- - Falls in der Konfigurationsdatei mehr als 12 Items gefunden
- werden, bricht StarCon nicht mehr ab, sondern ignoriert die
- überzähligen Items
-
- V 2 (30-10-92) :
- - Kickstart V2 oder höher wird vorausgesetzt.
- - Jetzt bis zu 32 Items
- - Wait-Command implementiert.
- - Close-Gadget und Window-Titel werden angezeigt und beachtet.
- - Bessere Fehlerbehandlung
- - Displayunabhängige Zentrierung eingeführt.
-
- V 2.01 (31-10-92) :
- - der gleiche Fehler, der mit V1.31 beseitigt wurde, hatte sich
- wieder eingeschlichen. :-(
- - Command-Word Auswertung jetzt Non-Case-sensitive
- - führende Leerzeichen und Tabs werden überlesen.
-
- ------- M ----------------------------------------------------------------
-
- Mein Dank gilt Hartmut (Oldenbürger) für Beta-Testing, OS2-Testing
- sowie für seine Hinweise, die mich bewogen haben, das Programm mehr
- als einmal zu ändern und einen WAIT-Befehl zu implementieren.
- Ebenso gilt mein Dank Gerd Frank, der StarCon erstmalig in eine PD-
- Serie aufgenommen hat.
- Weiterhin danke ich der Göttinger Brauhaus AG, die zuverlässig die
- Versorgung mit Getränken sichergestellt hat.
-
- * <-- Der grüne Punkt.
- Diese Dokumentation ist wiederverwendbar.
-
-
- - Carsten, 30. Oktober 1992
-
-
- Bugreports und Vorschläge an folgende Adresse:
-
- BITNET : holdenb1@dgogwdg1
- INTERNET : holdenb1@ibm.gwdg.de
- oder
- Schneckenpost:
- Carsten Drücke
- Lilienthalstr. 12
- W-3400 Göttingen
- Germany
-
-
-
-
-
-